"""

.. module:: pkge
.. moduleauthor:: @author: 

The purpose of this module is ... 
   
.. seealso:: modules :mod:`<module>`

*Constants*:
.. data:: constant_1
        
    constant_1 is used for ......
        
.. data:: constant_2
        
    constant_2 is used for ......
"""

# Imports
#
import logging

# Constants
#

# Classes
#


class Package(object):
    """The purpose of this class is ... 

    *Usage examples*::

        example code

    *Common Arguments for Class methods*:
        <arguments>
    
    *Audience*:
        <audience>
    
    *Constants*:
        .. data:: constant_1
        
            constant_1 is used for ......
        
        .. data:: constant_2
        
            constant_2 is used for ......
    """
    
    # Class constants
    #

    def __init__(self):
        # Constructor
        #
        # Parameters:
        #
        
        self.logger = logging.getLogger('yarra.package.pkge.Package')
        self.contents = []
        
    def __cmp__(self, other):
        """This function performs a List comparison of the current instance's 
        contents with the contents of 'other'. It should return zero if the
        contents are the same, otherwise -1.
        
        This function is called by Python when comparing the current Package
        instance with 'other'.
        
        :param other: Package
        :rtype: int
        """
        
        if (self.contents == other.contents):
            return 0
        else:
            return -1        